﻿// Copyright (c) Inossem. All rights reserved.
// Licensed under the LGPL-3.0 license. See LICENSE file in the project root for full license information.
using DWF.Studio.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DWF.Studio.ISerivces
{
    internal interface IProjectSettingService : IService
    {
        IEnumerable<Breakpoint> GetBreakpoints(string filePath);
        IEnumerable<Breakpoint> GetBreakpointsAll(IEnumerable<Script.ScriptBase> scriptBase);

        void AddBreakpoint(Breakpoint breakpoint);

        void UpdateBreakpoint(Breakpoint breakpoint);

        IEnumerable<Breakpoint> UpdateBreakpointAll(bool isEnable);
        void RemoveBreakpoint(Breakpoint breakpoint);

        void RemoveBreakpoints(string filePath);
        void RemoveAllBreakpoints();

        void RefreshBreakpoints(string filePath, IEnumerable<Breakpoint> breakpoints);

        void ChangeFilePath(string filePath, string newPath);

        IEnumerable<OpenedFile> GetOpenedFiles();

        void SetOpenedFiles(IEnumerable<OpenedFile> openedFiles);
    }
}
